﻿using DeviceManager.DataAccessLayer;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DeviceManager.BusinessLogicLayer
{
    public class UserBllOperation
    {
        UserDbOperation unit = new UserDbOperation();
        public string SaveRecordUser(NGUOIDUNG recordDvt)
        {
            //int actual = unit.SaveRecord(recordDvt);
            //deleteunitid = actual;
            //Assert.IsTrue(actual > 0);
            int id = unit.SaveRecord(recordDvt);
            if (id == -1)
                return "Không thể kết nối cơ sở dữ liệu!";
            else
                if (id > 0)
                    return "Thêm thành công đơn vị tính: " + recordDvt.TaiKhoan+" có khóa là: "+id;
                else
                    return "Đơn vị tính "+recordDvt.TaiKhoan+" đã có trong cơ sở dữ liệu!";
        }

        public List<NGUOIDUNG> GetRecordUser(NGUOIDUNG recordDvt)
        {
            return unit.GetRecord(recordDvt);
        }

        public string DeleteRecordUser(NGUOIDUNG recordDvt)
        {
            if (unit.DeleteRecord(recordDvt))
                return "Xóa thành công đơn vị tính có tên: " + recordDvt.TaiKhoan;
            else
                return "Không thể xóa đơn vị tính " + recordDvt.TaiKhoan + " do ràng buộc về khóa!";
        }
        public bool CheckUser(NGUOIDUNG record, string user)
        {
            for(int i = 0; i < unit.GetRecord(record).Count;i++)
            {
                if (unit.GetRecord(record)[i].TaiKhoan == user)
                {
                    return true;
                }
            }
            return false;
        }

        public bool CheckPass(NGUOIDUNG nGUOIDUNG, string p)
        {
            for (int i = 0; i < unit.GetRecord(nGUOIDUNG).Count; i++)
            {
                if (unit.GetRecord(nGUOIDUNG)[i].MatKhau == p)
                {
                    return true;
                }
            }
            return false;
        }
    }
}
